An example of nonvolatile memories is a NAND flash memory. In a NAND flash memory, when the application of program (write) voltage or erase voltage to a memory cell is repeated, a tunnel oxide film of the memory cell is degraded. Thus, an error may occur in a program, reading or erasing for the memory cell.